package com.season.seasonStudy.javase.j_020_typeconvert;

import java.text.DecimalFormat;
import java.text.ParseException;

public class TypeConvertTest {

	public static void main(String[] args) {
		/**
		 * 类型转换：
		 * 	String   转向    各种类型
		 * 
		 *  各种类型     转成    字符串
		 *  
		 *  1  基本数据类型
		 *  	String res=String.valueOf(基本类型);
		 *  	
		 *  2  基本类型的包装类型 
		 *  	byte-----Byte
		 *  	short----Short
		 *  	int------Integer
		 *  	long-----Long
		 *  	double---Double
		 *  	float----float
		 *  	boolean--Boolean
		 *  	char-----Character
		 *  与字符串的转换
		 *  Integer i=Integer.valueOf(字符串);
		 *  int d=i.intValue();
		 *  int a=Integer.parseInt(字符串);
		 *  
		 *  3  日期 
		 *  Date date=new Date();//当前时间
		 *  日期对象.getTime();//日期对象的毫秒数（距离1970-1-1的毫秒数）
		 *  SimpleDateFormat sdf=new SimpleDateFormat(日期格式);
			String 日期字符串=sdf.format(时间类型对象);
		 *  Date 日期对象=sdf.parse(字符串时间);
		 *  4  数字
		 *  DecimalFormat df=new DecimalFormat("$#,###.##");
					System.out.println(df.format(d));
			Number num=df1.parse(str);
				double d2=num.doubleValue();
		 * */
		
			double d=2234324.4363;
			DecimalFormat df=new DecimalFormat("$#,###.##");
			System.out.println(df.format(d));
			String str="￥12,323,455.3435";
			DecimalFormat df1=new DecimalFormat("￥#,###.##");
			try {
				Number num=df1.parse(str);
				double d2=num.doubleValue();
				System.out.println(d2);
			} catch (ParseException e) {
				e.printStackTrace();
			}
		//Calendar
		//GregorianCalendar 
		/*String dateStr1="2016-4-1";
		String dateStr2="2016-4-3";
		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
		try {
			Date date1=sdf.parse(dateStr1);
			Date date2=sdf.parse(dateStr2);
			long cha=date2.getTime()-date1.getTime();
			int day=(int)(cha/1000/3600/24);
			System.out.println(day);
		} catch (ParseException e) {
			e.printStackTrace();
		}*/
			
			/**
			 * 1.自动类型转换（小转大）
			 * 2.强制类型转换（大转小）  (类型名) 表达式;
			 * byte  a= 12;
			 * byte  b= 34;
			 * byte  = a + b; //错误。不能相加。相加可能超出byte范围，有风险;
			 * 
			 * 
			 * 
			 */
	}

}
